home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 003 / books.arc / COAREPT.PRG < prev    next >
Text File  |  1985-04-18  |  2KB  |  76 lines

  1. * coarept.prg
  2. * Print the chart of accounts and balances
  3.  
  4. * Get date of last update and company name.
  5. use geninfo
  6. store last:updat to last:date
  7. store company to company
  8.  
  9. * use chart of account file and index
  10. use coa index coa
  11.  
  12. * Ask about hardcopy.
  13. erase
  14. store " " to yn
  15. @ 5,2 say "Send report to printer? " get yn pict "!"
  16. read
  17.  
  18. * Calculate income and expenses totals for mtd,
  19. * qtd, and ytd; leaving out subaccounts
  20. erase
  21. ? "Calculating totals....."
  22.  
  23. sum amount for acct<300 .and. int(acct)=acct to tot:mtd1
  24. sum amount for acct>=300 .and. int(acct)=acct to tot:mtd2
  25. sum qtd for acct<300 .and. int(acct)=acct to tot:qtd1
  26. sum qtd for acct>=300 .and. int(acct)=acct to tot:qtd2
  27. sum ytd for acct<300 .and. int(acct)=acct to tot:ytd1
  28. sum ytd for acct>=300 .and. int(acct)=acct to tot:ytd2
  29.  
  30. * mark subaccounts with asterisk
  31. repl noupdat all marker with " "
  32. repl noup all marker with "*" for int(acct) <> acct
  33.  
  34. * If printer selected, set it on
  35. erase
  36. if YN = "Y"
  37.    set print on
  38. endif
  39. set eject off
  40. * Print report title
  41. ? "              Chart of Accounts for &company"
  42. ?
  43. ? "Last Update: &last:date"
  44. * print income accounts and totals
  45. ?
  46. ? "INCOME:"
  47. repo form coa for acct<300 plain
  48. ? "Total Income                   "+str(tot:mtd1,10,2)+;
  49.   "   "+str(tot:qtd1,10,2)+"   "+str(tot:ytd1,10,2)
  50. ? "EXPENSES:"
  51. repo form coa for acct>=300 plain
  52. ? "Total Expenses                 "+str(tot:mtd2,10,2)+;
  53.   "   "+str(tot:qtd2,10,2)+"   "+str(tot:ytd2,10,2)
  54. ?
  55. ? "Balance                       ",;
  56.    str(tot:mtd1-tot:mtd2,10,2)+"   "+;
  57.    str(tot:qtd1-tot:qtd2,10,2)+"   "+;
  58.    str(tot:ytd1-tot:ytd2,10,2)
  59. ?
  60. ?
  61. ?
  62. ? " NOTE: Subaccounts marked with a *"
  63. ?? "are not included in totals"
  64. eject
  65. set print off
  66. if yn <> "Y"
  67.    ?
  68.    ?
  69.    ? "Press any key to continue..."
  70.    wait
  71. endif
  72.  
  73. release company,last:date,yn,tot:mtd1,tot:mtd2
  74. release tot:qtd1,tot:qtd2,tot:ytd1,tot:ytd2
  75. return
  76.